/**
 * @Project: YonYouWeChat2
 * @Title: MNews.java
 * @Package org.wechat.core.constants.util
 * @author wenxu
 * @date 2015-6-2 下午02:49:18
 * @Copyright: 2015
 * @version V1.0
 */

package com.jeesite.modules.sys.wx.qy.util;


import com.github.sd4324530.fastweixin.company.api.config.QYAPIConfig;
import com.jeesite.common.config.Global;
import net.sf.json.JSONObject;

/**
 * @ClassName: MNews
 * @Description: 消息类型及数据格式
 * @author wenxu
 * @date 2015-6-2 下午02:49:18
 *
 */

public class MNews {

    public static String MESSGES = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN";

    /**
     * 消息模板配置
     */
    public static String news(String touser, String toparty, String totag, String agentid, String title,String date,String content,String remind, String url) {
        String postData = "{\n" +
                "    \"touser\" : \"%s\",\n" +
                "    \"toparty\" : \"%s\",\n" +
                "    \"totag\" : \"%s\",\n" +
                "    \"toall\" : 0,\n" +
                "   \"msgtype\" : \"textcard\",\n" +
                "   \"agentid\" : \"%s\",\n" +
                "   \"textcard\" : {\n" +
                "            \"title\" : \"%s\",\n" +
                "            \"description\" : \"<div class=\\\"gray\\\">%s\n</div><div class=\\\"normal\\\">%s\n</div><div class=\\\"highlight\\\">%s</div>\",\n" +
                "            \"url\" : \"%s\",\n" +
                "            \"btntxt\":\"更多\"\n" +
                "   }\n" +
                "}";
        postData = String.format(postData, touser, toparty, totag, agentid, title, date,content,remind, url);
        return postData;
    }

    /**
     * 向企业端发送消息
     * @param touser 成员ID列表（消息接收者，最多支持1000个）。每个元素的格式为： corpid/userid，其中， corpid为该互联成员所属的企业，userid为该互联成员所属企业中的帐号。如果是本企业的成员，则直接传userid即可
     * @param toparty 部门ID列表，最多支持100个。partyid在互联圈子内唯一。每个元素都是字符串类型，格式为：linked_id/party_id，其中linked_id是互联id，party_id是在互联圈子中的部门id。如果是本企业的部门，则直接传party_id即可。
     * @param totag 本企业的标签ID列表，最多支持100个。
     * @param agentid 企业应用的id，整型。可在应用的设置页面查看
     * @param title 标题，不超过128个字节，超过会自动截断
     * @param date 描述日期
     * @param content 描述内容
     * @param remind 描述提醒
     * @param url 地址
     * @return
     */
    public static String sendMessages(String touser, String toparty, String totag, String agentid, String title,String date,String content,String remind, String url) {
        QYAPIConfig apiConfig = new QYAPIConfig(Global.getConfig("ajz.qy.corpId"),Global.getConfig("ajz.qy.corpSecret"));
        String accessToken = apiConfig.getAccessToken();
        String str = MNews.news(touser,toparty,totag,agentid,title,date,content,remind,url);
        MESSGES = MESSGES.replace("ACCESS_TOKEN", accessToken);
        JSONObject jsonObject = WeixinUtil.HttpRequest(MESSGES, "POST", str);
        //请求成功
        if(null == jsonObject){
            jsonObject = new JSONObject();
        }
        return jsonObject.toString();
    }



    public static void main(String[] args) {
        QYAPIConfig apiConfig = new QYAPIConfig("wwec992c23c7175176", "No9YtgJ7wDI9kbix9HADa-RzsWB-fe9_i21Bn25AKZs");
        String access_token =  apiConfig.getAccessToken();
        String str = MNews.news("chenyishan","@all","@all","1000043", "到期提醒","2019/06/12","XXX隐患将于2019/06/13到期","请相关检查人员做好后续工作", "www.baidu.com");
        MESSGES = MESSGES.replace("ACCESS_TOKEN", access_token);
        JSONObject jsonObject = WeixinUtil.HttpRequest(MESSGES, "POST", str);
        //请求成功
        if(null != jsonObject){
            System.out.println(jsonObject.toString());
        }
    }
}
